package com.hxd.otc.module.my.contract;

import com.hxd.otc.common.enums.RoleTypeEnum;
import com.hxd.otc.module.my.bean.ApplyExplainContentBean;
import com.hxd.otc.module.my.bean.ApplyParamBean;
import com.hxd.otc.module.my.bean.UploadImageBean;
import com.hxd.otc.module.my.bean.YsPreBean;
import com.hxd.otc.mvp.base.IBasePresenter;
import com.hxd.otc.mvp.base.IBaseView;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * Created by lzy on 2018/6/19 0019.
 * description ${广告商申请 Contract}
 */
public interface ApplyContract {
    interface View extends IBaseView {
        /**
         * 提交申请成功
         *
         * @param msg
         */
        void applySuccess(String msg);

        /**
         * 提交申请失败
         *
         * @param errMessage
         * @param showDialog
         */
        void applyFail(String errMessage, boolean showDialog);

        void loginMiss();

        void updateBond();
    }

    interface Presenter extends IBasePresenter {
        /**
         * 申请成为广告商
         * @param item
         */
        void apply(ApplyParamBean item, RoleTypeEnum roleTypeEnum);

        void findCardStatus();

        void updateImageMap(HashMap<String, UploadImageBean> imageBeanHashMap);

        void requestYsBond();

        ArrayList<ApplyExplainContentBean> getExplainContent(RoleTypeEnum roleTypeEnum);

        void updateYsPreBean(YsPreBean ysPreBean);

        ArrayList<ApplyParamBean> getBonds(RoleTypeEnum sliverType);
    }
}
